1. Technical Field
The present invention relates generally to designing embedded systems, and more particularly relates to an interface protocol for simplifying the development of embedded systems.
2. Related Art
Effective development of embedded computer systems often requires hardware (i.e., a CPU and related control features) and software (i.e., the operating system, bios, etc.) to be developed simultaneously. This is particularly the case in fast moving technologies such as video processing where the demand for new features drives the need to quickly and regularly update and or redesign existing systems. One example of such a fast moving technology involves set-top boxes. A set-top box is a device that enables a television set to become a user interface to the Internet and also enables a television set to receive and decode digital television (DTV) broadcasts. A set-top box is necessary to television viewers who wish to use their current analog television sets to receive digital broadcasts. It is estimated that 35 million homes will use digital set-top boxes by the end of 2006, the estimated year ending the transition to DTV.
In an embedded system, an operating system is required to drive the operation of the hardware platform. In particular, present methodologies require the operating system to both provide a user interface and to “set-up” the control features associated with the hardware platform. Typical set-up operations include initializing clock registers, initializing external bus interface unit controllers and memory controllers, initializing general purpose I/Os, initializing xilinx configurations and cache configurations, loading and executing the operating system, etc. Accordingly, whenever a new hardware platform is developed, the operating system must know certain specific details of the hardware so that the set-up can be accomplished. However, because the operating system is often developed separately from the hardware, delays can be encountered, for instance, whenever design specifications change by either of the hardware or software developers.
Moreover, operating system code is generally not easily portable from one platform to another since it contains platform specific code. Accordingly, a need exists for a more standardized mechanism that will eliminate development delays when hardware and software are simultaneously developed.